Confluence of Pattern-Based Calculi
نویسندگان
چکیده
Different pattern calculi integrate the functional mechanisms from the λ-calculus and the matching capabilities from rewriting. Several approaches are used to obtain the confluence but in practice the proof methods share the same structure and each variation on the way patternabstractions are applied needs another proof of confluence. We propose here a generic confluence proof where the way patternabstractions are applied is axiomatized. Intuitively, the conditions guarantee that the matching is stable by substitution and by reduction. We show that our approach directly applies to different pattern calculi, namely the lambda calculus with patterns, the pure pattern calculus and the rewriting calculus. We also characterize a class of matching algorithms and consequently of pattern-calculi that are not confluent.
منابع مشابه
The dynamic pattern calculus as a higher-order pattern rewriting system
We show that Jay and Kesner’s dynamic pattern calculus can be embedded into a higher-order pattern rewriting systems in the sense of Nipkow. Metatheoretical results, such as confluence and standardisation, are shown to hold for the dynamic pattern calculus as a consequence of this embedding. The embedding also opens a way to study the semantics of Jay’s programming language bondi based on patte...
متن کاملHOR 2014 7 th International Workshop on Higher - Order Rewriting 8 . 45
We show that Jay and Kesners dynamic pattern calculus can be embedded into a higher-order pattern rewriting systems in the sense of Nipkow. Metatheoretical results, such as confluence and standardisation, are obtained for the dynamic pattern calculus as a consequence of this embedding. The embedding also opens a way to study the semantics of Jays programming language bondi based on pattern matc...
متن کاملFirst-class patterns
Pure pattern calculus supports pattern-matching functions in which patterns are first-class citizens that can be passed as parameters, evaluated and returned as results. This new expressive power supports two new forms of polymorphism. Path polymorphism allows recursive functions to traverse arbitrary data structures. Pattern polymorphism allows patterns to be treated as parameters which may be...
متن کاملBasic Pattern Matching Calculi: Syntax, Reduction, Confluence, and Normalisation
The pattern matching calculus is a refinement of λ-calculus that integrates mechanisms appropriate for fine-grained modelling of non-strict pattern matching. In comparison with the functional rewriting strategy that is usually employed to define the operational semantics of pattern-matching in non-strict functional programming languages like Haskell or Clean, the pattern matching calculus allow...
متن کاملConfluence Properties of Extensional and Non-Extensional λ-Calculi with Explicit Substitutions
This paper studies confluence properties of extensional and non-extensional λ-calculi with explicit substitutions, where extensionality is interpreted by η-expansion. For that, we propose a general scheme for explicit substitutions which describes those abstract properties that are sufficient to guarantee confluence. Our general scheme makes it possible to treat at the same time many well-known...
متن کامل